home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group03a.txt
/
000022_icon-group-sender_Fri Feb 28 12:28:03 2003.msg
< prev
next >
Wrap
Internet Message Format
|
2003-12-22
|
3KB
Return-Path: <icon-group-sender>
Received: (from root@localhost)
by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id h1SJQ6Q22581
for icon-group-addresses; Fri, 28 Feb 2003 12:26:06 -0700 (MST)
Message-Id: <200302281926.h1SJQ6Q22581@baskerville.CS.Arizona.EDU>
From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
X-Newsgroups: comp.lang.icon
Subject: GUI Front End for icont
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Date: Fri, 28 Feb 2003 18:37:31 GMT
X-Complaints-To: abuse@verizon.net
To: icon-group@cs.arizona.edu
Errors-To: icon-group-errors@cs.arizona.edu
Status: RO
In some previous versions of Icon for MS Windows, there were two separate
sets of Icon tools: one for command line interface (CLI) applications, and
one for Graphic User Interface (GUI) applications:
- For CLI applications, the Icon compiler was called "nticont.exe", and it
used "nticonx.exe"as the interpreter; and
- For GUI applications, the Icon compiler was called "wicont.exe", and it
used "wiconx.exe" as the interpreter.
Needless to say, the need for the source files to support both sets of tools
requires lots of MS Win-specific code, creating a maintenance nightmare. As
a result, the Windows port of Icon has lagged behind ports on other
platforms.
I considered this approach unnecessarily complex, so a while back I worked
on having one set of tools that could be used to build and run both CLI and
GUI applications. To accomplish this, I ported the Unix Icon code to the
Cygwin compiler, keeping the MS Windows code for the graphics facility. The
result of this effort is a icont / iconx pair that can be used to compile
and execute Icon applications that use CLI, GUI, or both.
On the one hand, this port was extremely successful. The Cygwin version of
Icon is much closer to Icon on other platforms, and the number of source
code differences between Unix Icon and MS Icon has been significantly
diminished. On the other hand, there is something that has been lost in this
process. The MS Windows version of the Icon compiler for developing GUI
application used to be a GUI application itself. This is not the case with
the Cygwin version of icont.
Of course, one way we could get back a GUI for compiling and linking Icon
programs is to develop a GUI front end for the CLI version of icont. In a
sense, that is what Microsoft does with its compilers. For all the fancy
features of Visual C++, when the GUI actually compiles a C/C++ file, it
simply runs the CLI tool CL.EXE with the appropriate arguments. Presumably,
this could also be done with icont.
One could develop the GUI front end using C / C++ and the Win32 API, but if
we do this, the GUI would only live on the MS Windows platform. A more
portable approach is possible: why not develop the GUI front end in Icon? By
doing so, the GUI front end can be ported to any platform where Icon
supports graphics.
So, is the Icon graphics facility up to the challenge of the GUI front end?